
package com.cctv.cdm.schema.bclistandchangeinfotype._0;

import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlType;
import com.cctv.ppm.schema.ppm_commondatatypes._0.BroadcastListChangeInfoType;
import com.cctv.ppm.schema.ppm_commondatatypes._0.BroadcastListInfoType;


/**
 * 
 * 			播出编排单与节目变更单不允许同时为空,也不同时存在：
 * （1）Sch04只用于发送总编室定稿的播出编排单，播出编排单必填，节目变更单为空。
 * （2）Sch05用于发送节目变更单、修订版节目单、锁定版节目单。
 * （3）调用Sch05发送播出线时：-1天前，播出编排单必填，节目变更单为空；-1天后，播出编排单为空，节目变更单必填。
 * （4）调用Sch05发送所有系统时：-1天的前后播出编排单均为空，节目变更单必填。
 * （5）锁定版节目单发送时，播出编排单必填，节目变更单为空。
 * 
 * 			
 * 
 * <p>BroadcastListAndChangeInfoType complex type的 Java 类。
 * 
 * <p>以下模式片段指定包含在此类中的预期内容。
 * 
 * <pre>
 * &lt;complexType name="BroadcastListAndChangeInfoType"&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="BroadcastListInfo" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}BroadcastListInfoType" minOccurs="0"/&gt;
 *         &lt;element name="BroadcastListChangeInfos"&gt;
 *           &lt;complexType&gt;
 *             &lt;complexContent&gt;
 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                 &lt;sequence&gt;
 *                   &lt;element name="BroadcastListChangeInfo" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}BroadcastListChangeInfoType" maxOccurs="unbounded" minOccurs="0"/&gt;
 *                 &lt;/sequence&gt;
 *               &lt;/restriction&gt;
 *             &lt;/complexContent&gt;
 *           &lt;/complexType&gt;
 *         &lt;/element&gt;
 *       &lt;/sequence&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "BroadcastListAndChangeInfoType", propOrder = {
    "broadcastListInfo",
    "broadcastListChangeInfos"
})
public class BroadcastListAndChangeInfoType {

    @XmlElementRef(name = "BroadcastListInfo", namespace = "http://cctv.com/CDM/schema/BCListAndChangeInfoType/0.1", type = JAXBElement.class, required = false)
    protected JAXBElement<BroadcastListInfoType> broadcastListInfo;
    @XmlElement(name = "BroadcastListChangeInfos", required = true)
    protected BroadcastListAndChangeInfoType.BroadcastListChangeInfos broadcastListChangeInfos;

    /**
     * 获取broadcastListInfo属性的值。
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link BroadcastListInfoType }{@code >}
     *     
     */
    public JAXBElement<BroadcastListInfoType> getBroadcastListInfo() {
        return broadcastListInfo;
    }

    /**
     * 设置broadcastListInfo属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link BroadcastListInfoType }{@code >}
     *     
     */
    public void setBroadcastListInfo(JAXBElement<BroadcastListInfoType> value) {
        this.broadcastListInfo = value;
    }

    /**
     * 获取broadcastListChangeInfos属性的值。
     * 
     * @return
     *     possible object is
     *     {@link BroadcastListAndChangeInfoType.BroadcastListChangeInfos }
     *     
     */
    public BroadcastListAndChangeInfoType.BroadcastListChangeInfos getBroadcastListChangeInfos() {
        return broadcastListChangeInfos;
    }

    /**
     * 设置broadcastListChangeInfos属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link BroadcastListAndChangeInfoType.BroadcastListChangeInfos }
     *     
     */
    public void setBroadcastListChangeInfos(BroadcastListAndChangeInfoType.BroadcastListChangeInfos value) {
        this.broadcastListChangeInfos = value;
    }


    /**
     * <p>anonymous complex type的 Java 类。
     * 
     * <p>以下模式片段指定包含在此类中的预期内容。
     * 
     * <pre>
     * &lt;complexType&gt;
     *   &lt;complexContent&gt;
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *       &lt;sequence&gt;
     *         &lt;element name="BroadcastListChangeInfo" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}BroadcastListChangeInfoType" maxOccurs="unbounded" minOccurs="0"/&gt;
     *       &lt;/sequence&gt;
     *     &lt;/restriction&gt;
     *   &lt;/complexContent&gt;
     * &lt;/complexType&gt;
     * </pre>
     * 
     * 
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
        "broadcastListChangeInfo"
    })
    public static class BroadcastListChangeInfos {

        @XmlElement(name = "BroadcastListChangeInfo", nillable = true)
        protected List<BroadcastListChangeInfoType> broadcastListChangeInfo;

        /**
         * Gets the value of the broadcastListChangeInfo property.
         * 
         * <p>
         * This accessor method returns a reference to the live list,
         * not a snapshot. Therefore any modification you make to the
         * returned list will be present inside the JAXB object.
         * This is why there is not a <CODE>set</CODE> method for the broadcastListChangeInfo property.
         * 
         * <p>
         * For example, to add a new item, do as follows:
         * <pre>
         *    getBroadcastListChangeInfo().add(newItem);
         * </pre>
         * 
         * 
         * <p>
         * Objects of the following type(s) are allowed in the list
         * {@link BroadcastListChangeInfoType }
         * 
         * 
         */
        public List<BroadcastListChangeInfoType> getBroadcastListChangeInfo() {
            if (broadcastListChangeInfo == null) {
                broadcastListChangeInfo = new ArrayList<BroadcastListChangeInfoType>();
            }
            return this.broadcastListChangeInfo;
        }

    }

}
